package com.cloudkinto.service.redpacket;

import com.baomidou.mybatisplus.extension.service.IService;
import com.cloudkinto.appletservice.finance.vo.WxPayNotifyRequest;
import com.cloudkinto.common.web.PageResult;
import com.cloudkinto.common.web.SingleResult;
import com.cloudkinto.entity.WxRedPacketDo;
import com.cloudkinto.service.redpacket.vo.WinPrizeInfoReq;
import com.cloudkinto.service.redpacket.vo.WxPaySuccessResponse;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * service接口
 * </p>
 *
 * @author ding
 * @since 2021-02-05
 */
public interface WxRedPacketService extends IService<WxRedPacketDo> {

    SingleResult addInit();

    Object add(Object req, Long userId);

    SingleResult updateInit(Long id);

    Object update(Object updateVo, Long userId);

    int delete(Long id, Long userId);

    Object detail(Long id);

    SingleResult pageInit();

    List<Object> getList(Map<String, String> map);

    PageResult getListPage(Map<String, String> map);

    SingleResult addCount(String friendId, String myId, String openId);

    SingleResult openPacket(String id, String openId);

    void payRedPacket();

    Map setUserInfo(String access_token, String openid);

    SingleResult wxPayRecharge(String companyCode, Double money, String openId);

    WxPaySuccessResponse wxPayRechargeQuery(String companyCode, String outTradeNo);

    WxPaySuccessResponse wxPayRechargeQuery(Long companyId, String outTradeNo);

    SingleResult saveUserInfo(WinPrizeInfoReq req);

    SingleResult getPrizeInfo(String id, String openId);

    SingleResult openAmount(String id, String openId);

    void getWXxPayCertificates();

    SingleResult getHelpInfo(String id, String openId);

    void payAmount();

    Map wxPayNotify(Map<String, Object> strData, String authorization, String serialNo, String timestamp, String nonce);

    SingleResult wxPayNativeRecharge(Long companyId, Double money,String tips);

    SingleResult aliPayRecharge(Long companyId, Double money);

}
